
#ifndef GKT_CRC8_H
#define GKT_CRC8_H

#include "gkt_types.h"

#define GKT_CRC8_POLY	0x07
#define GKT_CRC8_INIT	0x00
uint8_t gkt_crc8(const uint8_t *data, uint32_t length);

#define GKT_CRC8_ITU_POLY	0x07
#define GKT_CRC8_ITU_INIT	0x00
uint8_t gkt_crc8_itu(const uint8_t *data, uint32_t length);

#define GKT_CRC8_ROHC_POLY	0x07
#define GKT_CRC8_ROHC_INIT	0xFF
uint8_t gkt_crc8_rohc(const uint8_t *data, uint32_t length);

#define GKT_CRC8_MAXIM_POLY	0x31
#define GKT_CRC8_MAXIM_INIT	0x00
uint8_t gkt_crc8_maxim(const uint8_t *data, uint32_t length);

#endif	/* GKT_CRC8_H */

